/*
    Copyright (c) 2009 Pavol Malosek a.k.a. malo

    This file is part of ComComLib.

    ComComLib is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.

    ComComLib is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef __DEVICE_Rxxxx_HPP_INCLUDED__
#define __DEVICE_Rxxxx_HPP_INCLUDED__

#include <lcc/device.hpp>

namespace lcc
{
    class device_Rxxxx_t : public device_t
    {
    public:
        device_Rxxxx_t (const char *tty_);
        ~device_Rxxxx_t (void);

        // Touch logger
        logger_command_status_t touch (void);        

        //  Read system memory from device.
        logger_command_status_t read_service_memory (void);

        //  Read data memory from device.
        logger_command_status_t read_records (void); 
    protected:
         //  Read data memory from device.
        logger_command_status_t read_data_memory (uint16_t src_addr_, 
            size_t size_, bool keep_tty_open_ = false);       
    };

}
#endif
